Versions prior to 1.6 - Versions prior to 1.6 were still in the alpha development stage, and history notes were not maintained. Version 1.60 Alpha - I thought that at this point, it was ready to be tested on TSCNET for the first time. I needed to make sure that the file routines would work with the network with more then 2 users. It went on-line for about 2 hours. (There were many minor bugs, and major problems with file sharing across the network that did not appear on one machine running Desqview). Version 1.61 Alpha - Added More Error Checking for file opens/reads/writes. - Fixed problems with command parser. - Expanded Help functions to include help on individual commands. Version 1.62 Alpha - Added /PAUSE command and heap to place coded records recieved while paused. Version 1.63 Alpha - Added Line Wrap during text input. Version 1.64 Alpha - Added Commands: /STATUS, /IGNORE, /MONITOR - Corrected colors by adding function that always reverse the color back to white following text output. That way the imput color is always white. - Corrected a problem with text input line wrap. Version 1.65 Alpha - Added even more file open/read/write error checking. - Corrected minor spelling errors. Version 1.70 to 1.72 Beta (6/4/94) - Corrected various minor bugs. - Moved various code around to try to improve speed. - Move various code around to minimize the time that files are kept open. - Fixed a problem where I was calling a string building function that required a NULL to be the last parameter. I was missing the NULL, and so garbage was being displayed to the user when the string was being printed. Verified that all calls to this function ended with a NULL, and found several more in error. Version 1.73 Beta (6/7/94) - Scraped the stream file functions and most of the previously installed error checking in favor of the lower level file I/O functions with manual file locking. (Greatly increased speed but lowering the size of file requests). - Corrected another line wrap function caused by the correction in version 1.64 Beta. Also had to alter the command parser because of this change. Version 1.74 Beta (6/8/94) - Corrected a bug where if a user tried to take ownership of a channel, and it was owned by someone else, it would report that node 0 owned the channel instead of the correct channel owner. Version 1.80 Beta (6/9/94) - Improved Source Code Documentation. - Added code for the configuration file. The program will now read the configuration file for the following values: BBS NAME (Name of BBS) Registeration Code (Registeration) Chat file Path (Path to the CHAT.DAT file) Help file Path (Path to the Help Files [.CHF]) Action file Path (Path to the Action Files) Finger file Path (Path to the finger data) Check Interval (Interval with which to check the data file) High Always Public Channel (High always public Channel) Chat File Coded Records (# of fixed length coded records) Sysop Security (Sysop Security Level) - Added the following commands to the command parser: /TERM, /GIVE, /TOPIC, /UP, /ONE /HIDE(sysop). These are active in the parser, but are not implemented yet. - Fixed a problem where if the file was locked at the same time that it was being checked for text while you are typing, it would give a network delay right in the middle of you text. Since this check is not critical, if the file is locked during this check, it is skipped. - Added code to prevent a blank (empty) record being sent if the command is PUBLICTEXT or PRIVATETEXT. This keeps users from sending blank lines by just hitting enter. - Overrode the PCBoard ToolKit's default file error handler and modified it to delay longer before giving the user a Network Busy message. It will now recheck a locked file every 1/4 second for the first 2 seconds and then delay for 1 second for 8 more seconds. Only then will it display the network busy message and conduct retries for the network timeout on re-tries period. Version 1.81 Beta (06/11/94-06/21/94) - Corrected a problem with the string handling in while processing the text read from the configuration file. This could have caused a problem, but it didn't with the default values I used for testing. - Added the channel mode ONE-ON-ONE. The /ONE command is now working, and the channel is properly made PUBLIC, PRIVATE, and ONE-ON-ONE. Also modified the /INVITE and /CALL commands to check to see if there are already 2 people on the channel and if so, give an error message. - Modified the joinchannel code so that if the channel is ONE-ON-ONE, then it will see if there are already 2 people there. - Modified the /SHOW command and function to show ONE-ON-ONE channels. - Modified the /SHOW command and function to show who is the channel owner by putting a '*' next to the node number. - Got the One-On-One mode working. Will not currently process Backspaces or do line wrap properly. Also each keystroke will create an attempted channel file access; will want reuse a timer to keep file accesses limited to a predefinable value (say every second). Version 1.82 Beta (06/22/94) - Corrected backspace processing in one-on-one mode. - Corrected Line Wrap processing in one-on-one mode. - More work on the One-On-One Mode. Added the code to do file accesses based on a timer instead of attempting a file access at every keystroke. This promptly broke the backspace and line wrap. Version 1.83 Beta (06/24/94) - Corrected the backspace by checking to see if there is a pending write or not. (i.e. do we need to send a BS to the channel file, or just change the local buffer). - Corrected Line Wrap in the same manner, but something is still subtley wrong. - Added Color and cursor positioning similar to that in the originall PCBoard chat module. There are still some problems with this, and it needs a full debugging session. Version 1.84 Beta (06/29/94) - Continued Work on One-on-One mode. Added a special print function for the one-on-one mode. Cursor positioning on the remote end still does not remain in sync with local screen. Version 1.85 Beta (7/3/94) - Added cursor positioning functions that move the remote cursor using relative rather than absolute coordinates. This corrected the problem with the remote screen not syncing with the local screen in the one-on-one mode. Version 1.86 Beta (7/11/94) - After a long debugging session, fixed the one-on-one mode and associated line wrap. - Changed code so that the channel file is deleted when a one-on-one chat is concluded (Made Public, Made Private, or Both partys departed) - Fixed /IGNORE so that a node can now be correctly "Unignored". - Added /GIVE command, allows the channel owner to give ownership to another node in the same channel. - Modified the joinchannel function so that if you are already on the channel that you requested, it will tell you so. - Added the /WHOIS sysop command. This command will show a sysop info about another chat user. Also modified the /QUERY command. Both of these will now get a response from another node even if coded records are going to the heap on that node. - Added pauses (while in the /PAUSE mode) to the /SHOW and /WHO displays. - Added /FINGER Command. /FINGER shows the finger infomation that is saved when using Brad Dameron's PROFILE (FINGER) PPE. /FINGER LIST will show all users who have entered finger information. Version 1.87 Beta (7/12/94) - Modified the /FINGER command so that if the configuration file setting FingerPath= is blank, and a user issues the finger command, it will tell him that "finger is not installed on this system." - Modified the /FINGER LIST command so that it recognizes the pause status and pauses (while putting coded records to heap). - Added Configuration file option ChannelFileCheckInt= which establishes the period of time between reads or write to the channel file in the one-on-one mode. This value is clock ticks rather than seconds. The default value is 18 (1 second). - Modified Configuration file option ChatFileCheckInterval= to be in clock ticks vice seconds. The default value is 91 ticks (5 seconds) {TICKS = (int)(Seconds * 182 / 10)} Version 1.88 Beta (7/15/94) - Completed Work on actions. See documentation for implementation details. - Made Minor changes to color scheme. (Public text is now a differenct color than the node number and name that sent it). - Corrected CHAT.PPE to properly handle the CHANNEL.TMP file that is created by the CHANNEL.PPE when a page request is recieved. This allows you to page someone into a channel that is already private. - Added a check against the users remaining time that will let them know each minute less than 5 remaining that there will be an auto disconnect in x minutes, and when thier time reaches 0, they will be logged off. - Changed logoff processing so that if you use /BYE or run out of time, chat is exited with an ERRORLEVEL of 1, which is then returned to the CHAT.PPE, and it will then log the user off. Version 1.89 Beta (8/20/94) - Corrected a bug in the give channel command. If the /GIVE command was without a parameter, and then nothing was entered at the prompt, the user using the command would fill all open slots in the channel. - Added support for the 'H' status in the USERNET.XXX file. This is the Handling Mail code available in PCBoard 15.2 - Added the code to support registered and non-registered versions of the chat program. -